Scroll to navigation

rte_crypto_auth_xform(3) DPDK rte_crypto_auth_xform(3)

NAME

rte_crypto_auth_xform

SYNOPSIS

#include <rte_crypto_sym.h>

Data Fields


enum rte_crypto_auth_operation op
enum rte_crypto_auth_algorithm algo
struct {
const uint8_t * data
uint16_t length
} key
struct {
uint16_t offset
uint16_t length
} iv
uint16_t digest_length

Detailed Description

Authentication / Hash transform data.

This structure contains data relating to an authentication/hash crypto transforms. The fields op, algo and digest_length are common to all authentication transforms and MUST be set.

Definition at line 404 of file rte_crypto_sym.h.

Field Documentation

enum rte_crypto_auth_operation op

Authentication operation type

Definition at line 405 of file rte_crypto_sym.h.

enum rte_crypto_auth_algorithm algo

Authentication algorithm selection

Definition at line 407 of file rte_crypto_sym.h.

const uint8_t* data

pointer to key data

Definition at line 411 of file rte_crypto_sym.h.

uint16_t length

key length in bytes

Length of valid IV data.

  • For SNOW3G in UIA2 mode, for ZUC in EIA3 mode and for AES-GMAC, this is the length of the IV.
  • For KASUMI in F9 mode and other authentication algorithms, this field is not used.
  • For GMAC mode, this is either: 1) Number greater or equal to one, which means that IV is used and J0 will be computed internally, a minimum of 16 bytes must be allocated. 2) Zero, in which case data points to J0. In this case 16 bytes of J0 should be passed where J0 is defined by NIST SP800-38D.

Definition at line 412 of file rte_crypto_sym.h.

struct { ... } key

Authentication key data. The authentication key length MUST be less than or equal to the block size of the algorithm. It is the callers responsibility to ensure that the key length is compliant with the standard being used (for example RFC 2104, FIPS 198a).

uint16_t offset

Starting point for Initialisation Vector or Counter, specified as number of bytes from start of crypto operation (rte_crypto_op).

  • For SNOW 3G in UIA2 mode, for ZUC in EIA3 mode this is the authentication Initialisation Vector (IV) value. For AES-GMAC IV description please refer to the field length in iv struct.
  • For KASUMI in F9 mode and other authentication algorithms, this field is not used.

For optimum performance, the data pointed to SHOULD be 8-byte aligned.

Definition at line 422 of file rte_crypto_sym.h.

struct { ... } iv

Initialisation vector parameters

uint16_t digest_length

Length of the digest to be returned. If the verify option is set, this specifies the length of the digest to be compared for the session.

It is the caller's responsibility to ensure that the digest length is compliant with the hash algorithm being used. If the value is less than the maximum length allowed by the hash, the result shall be truncated.

Definition at line 458 of file rte_crypto_sym.h.

Author

Generated automatically by Doxygen for DPDK from the source code.

Thu May 23 2024 Version 23.11.0